﻿using System;
using System.Collections.Generic;
using TPDiseño.DTO_s;

namespace TPDiseño.Clases_de_Entidad
{
    public class PuestoCompetencia
    {

        // Atributos
        private Competencia competencia;
        private int ponderacion;
        
        public Competencia _competencia
        {
            get
            {
                return competencia;
            }
            set
            {
                competencia = value;
            }
        }
        public int _ponderacion
        {
            get
            {
                return ponderacion;
            }
            set
            {
                ponderacion = value;
            }
        }

        // Construcotores
        public PuestoCompetencia()
        {
        }
        
        public PuestoCompetencia(Competencia unaComptencia, int unaPonderacion)
        {
            this.competencia = unaComptencia;
            this.ponderacion = unaPonderacion;
        }
        
        public PuestoCompetencia nuevo(DTOCompPon DTO)
        {
            //crea un puesto competencia a partir de un DTO
            PuestoCompetencia PuestoComp = new PuestoCompetencia(DTO._competencia,DTO._ponderacion);
            
            return PuestoComp;
        }
        
        //Metodos
        public PuestoCompetencia clonarHastaEvaluacion(){

            // Retorno una copia o clon de la instancia actual con sus ramas hasta evaluacion
            return new PuestoCompetencia(this._competencia.clonarNivel(), this._ponderacion);
        }

        public DTOCompetenciaPonderacion DTOcompetenciaPonderacion()
        {
            return new DTOCompetenciaPonderacion(this);
        }
        
    }
}
